package io.framework.modules.noise.dao;

import io.framework.common.dao.BaseDao;
import io.framework.modules.noise.entity.NoiseFunctionalZoneEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 功能区噪声
 *
 * @author Gujq email
 * @since 1.0.0 2020-06-02
 */
@Mapper
public interface NoiseFunctionalZoneDao extends BaseDao<NoiseFunctionalZoneEntity> {


    List<NoiseFunctionalZoneEntity> getList(Map<String,Object> params);

    /**
     * 验证数据  防止重复上传
     * @param year
     * @return
     */
    List<NoiseFunctionalZoneEntity> checkData(@Param("year") String year);

    /**
     * 根据时间 month 2020 删除数据
     * @param params
     * @return
     */
    int deleteInfoByDate(Map<String,Object> params);

    /**
     * 功能区噪声达标情况  -扇形图
     * @param params
     * @return
     */
    List<Map<String,Object>> pass(Map<String,Object> params);

    /**
     * 达标/超标监测站点
     * @param params
     * @return
     */
    List<Map<String,Object>> passNum(Map<String,Object> params);

    /**
     * 功能区噪声达标情况 - 达标率 柱状图
     * @param params
     * @return
     */
    List<Map<String,Object>> passRate(Map<String,Object> params);

    /**
     * 类别详情
     * @param params
     * @return
     */
    List<Map<String,Object>> classifyInfo(Map<String,Object> params);

    /**
     * 获取单个功能区站点详情
     *
     * @param params
     * @return
     */
    List<Map<String,Object>> getNoiseInfo(Map<String,Object> params);

    /**
     * 获取最新报告日期
     * @return
     */
    Map<String,Object> getNewCreateDate();
}